From 185529d2f88a5362bc175787940e3cc44d94ff1f Mon Sep 17 00:00:00 2001 From: Li Yuan Date: Fri, 12 Dec 2008 06:12:27 +0000 Subject: [PATCH] Bug #512743. (gail_tree_view_changed_gtk): Clean cell before go through 2008-12-12 Li Yuan * gailtreeview.c: Bug #512743. (gail_tree_view_changed_gtk): Clean cell before go through the info list, for "changed" signal could come before a "row-deleted". (clean_cell_info): Prevent the thread to be scheduled before clean_cell_info finish its job. svn path=/trunk/; revision=21872 --- modules/other/gail/ChangeLog | 9 +++++++++ modules/other/gail/gailtreeview.c | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/other/gail/ChangeLog b/modules/other/gail/ChangeLog index 5157c33b4e..4066062b1d 100644 --- a/modules/other/gail/ChangeLog +++ b/modules/other/gail/ChangeLog @@ -1,3 +1,12 @@ +2008-12-12 Li Yuan + + * gailtreeview.c: Bug #512743. + (gail_tree_view_changed_gtk): Clean cell before go through the info + list, for "changed" signal could come before a "row-deleted". + (clean_cell_info): + Prevent the thread to be scheduled before clean_cell_info + finish its job. + 2008-12-09 Michael Natterer * Makefile.am diff --git a/modules/other/gail/gailtreeview.c b/modules/other/gail/gailtreeview.c index b7d6ae00e2..6a8edb4555 100644 --- a/modules/other/gail/gailtreeview.c +++ b/modules/other/gail/gailtreeview.c @@ -2422,6 +2422,8 @@ gail_tree_view_changed_gtk (GtkTreeSelection *selection, tree_selection = gtk_tree_view_get_selection (tree_view); + clean_rows (gailview); + for (l = cell_list; l; l = l->next) { info = (GailTreeViewCellInfo *) (l->data); @@ -3529,7 +3531,7 @@ clean_cell_info (GailTreeView *gailview, if (cell_info->in_use) { obj = G_OBJECT (cell_info->cell); - gail_cell_add_state (cell_info->cell, ATK_STATE_DEFUNCT, TRUE); + gail_cell_add_state (cell_info->cell, ATK_STATE_DEFUNCT, FALSE); g_object_weak_unref (obj, (GWeakNotify) cell_destroyed, cell_info); cell_info->in_use = FALSE; if (!gailview->garbage_collection_pending) { -- 2.30.2